package com.ybkj.daijia.server.service;

import com.ybkj.daijia.page.Page;
import com.ybkj.daijia.server.mc.PassengerAccount;
import java.util.Date;
import java.util.Map;

/**
 * @author Shine
 */
public interface MemberPaymentsRecordService {

    /**
     * 保存客户收支记录
     *
     * @param record
     * @return
     */
//	public MemberPaymentsRecord insertRecord(MemberPaymentsRecord record);

    /**
     * 根据主键更新客户收支记录
     *
     * @param record
     * @return
     */
//	public int updateByPrimaryKey(MemberPaymentsRecord record);

    /**
     * 批量保存客户收支记录
     *
     * @param recordlist
     */
//	public void batchInsertRecord(List<MemberPaymentsRecord> recordlist);

    /**
     * @param id
     * @return
     */
//	public MemberPaymentsRecord findOne(Long id);
    public Page<PassengerAccount> queryByPassenger(Long passengerId, String different, Date start,
        Date end, Integer page, Integer limit);

//	public List<MemberPaymentsRecord> queryAllByMember(Long id);

//	public Page<MemberPaymentsRecord> queryByMemberAndType(Long id,
//			String type, Date start, Date end);

    public Page<Map<String, Object>> pagePaymentsByMember(Long memberId, Integer page,
        Integer limit);

    /**
     * 微信V5获取资金流水
     *
     * @param memberId 客户ID
     * @param page     页码
     * @param limit    条数
     * @param payType  获取的流水类型
     * @return
     */
    public Page<Map<String, Object>> pagePaymentsByMemberV5(Long memberId, Integer page,
        Integer limit, String payType);

//	public MemberPaymentsRecord findByTypeAndOrderId(String type, Long orderId);

//	public List<MemberPaymentsRecord> findMoreByTypeAndOrderId(String type, Long orderId);

    public Page<PassengerAccount> queryByEnterprise(Long enterpriseId, String different, Date start,
        Date end, Integer page, Integer limit);

}
